Image processing apparatus, control method for image processing apparatus, and storage medium

ABSTRACT

An image processing apparatus that performs print processing based on a job includes a reception unit configured to receive an operation performed by a user, a change unit configured to, in response to the reception unit receiving a predetermined operation, change a job on which the print processing is not yet completed to a suspended state, and a job control unit configured to, when detecting a logout event that causes a user who is logged into the image processing apparatus to log out of the image processing apparatus, resume at least one job and cancel a job or jobs that are not resumed by the job control unit selected from jobs changed by the change unit to be in the suspended state.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of U.S. patentapplication Ser. No. 15/231,284 filed on Aug. 8, 2016 which claims thebenefit of Japanese Patent Applications No. 2015-161994 filed Aug. 19,2015 and No. 2016-091603 filed Apr. 28, 2016, all which are herebyincorporated by reference herein in their entirety.

BACKGROUND OF THE INVENTION Field of the Invention

Aspects of the present invention generally relate to an image processingapparatus having a user authentication function.

Description of the Related Art

To improve security in image processing apparatuses, a conventionalimage processing apparatus requests a user who uses the image processingapparatus to enter a user identifier (ID) and a password and permits theuser to log in to the image processing apparatus based on the entereduser ID and password. When the user's login is permitted in such animage processing apparatus, the image processing apparatus enters astate in which the user is allowed to use a function, such as copying,that the image processing apparatus has.

Furthermore, in such a known image processing apparatus, when the userlogs out of the image processing apparatus after completion of the usethereof, the image processing apparatus enters a state in which the useris not allowed to use each function that the image processing apparatushas, and also enters a state in which another user is allowed to log into the image processing apparatus. Moreover, when a condition in whichno operation is performed by any user on the image processing apparatuscontinues over a specified period, the image processing apparatus entersa state in which the user is caused to log out of the image processingapparatus and another user is allowed to log in to the image processingapparatus (automatic logout function). Additionally, in a knowninformation processing apparatus (for example, a personal computer (PC))having a login authentication function, when the user logs out,execution of a job which the user is performing is canceled.

Furthermore, some known conventional image processing apparatuses areconfigured to allow a plurality of jobs (for example, copy jobs) to beinput thereto. Such an image processing apparatus executes the inputjobs in turns based on the order of inputting of the jobs or the orderof priority set for the jobs. Moreover, when, after a job is input, thejob is to be canceled, a stop key provided in an operation unit of theimage processing apparatus can be used to suspend execution of inputjobs, as discussed in, for example, Japanese Patent ApplicationLaid-Open No. 2001-251454.

The image processing apparatus discussed in Japanese Patent ApplicationLaid-Open No. 2001-251454 allows the user to select a job to be canceledfrom among the suspended jobs, cancels execution of the selected job,and resumes the remaining jobs. This processing suspends all of the jobsand, therefore, prevents, while an operation to select a job to becanceled is being performed, the job from continuing being processed togenerate a wasteful output object.

An image processing apparatus which performs authentication managementpremised on the user's login may also be configured to be able tosuspend jobs with a stop key provided in an operation unit. However, theimage processing apparatus discussed in Japanese Patent ApplicationLaid-Open No. 2001-251454 is configured without consideration of aprocessing operation to be performed when the user logs out.

For example, the user, when becoming aware that the output operation ofthe image processing apparatus has been suspended by the stop key beingpressed, may misunderstand that a job intended to be canceled has beenindeed canceled. In this case, the user may directly perform a logoutoperation to log out without checking a suspension screen displayed onthe operation unit. In that case, while the job is suspended, the imageprocessing apparatus is switched to a state in which the user is notlogging in. In the state in which the user is not logging in, a screenused to receive the user's login is displayed, so that each function ofthe image processing apparatus cannot be used.

Moreover, in a case where a user who intends to cancel a job has pressedthe stop key, the user, when becoming aware that the output operationhas been suspended, may misunderstand that a copy job to be canceled hasbeen indeed canceled, and may leave the image processing apparatuswithout performing any operation. In this case, if the user is caused tolog out by the automatic logout function, the image processing apparatuswould be switched to a state in which no user is logging in.

If a logout is performed with a job suspended, the job would remain in asuspended state. Moreover, if a state in which a job remains suspendedby the stop key continues, even a job different from the job that theuser intends to cancel would remain suspended. In addition, a hardwareresource used for a printing unit or the like to perform outputting maycontinue being occupied by output processing performed based on a jobthat is in a suspended state and is waiting for a resumptioninstruction. In this case, even if it is tried to perform printprocessing based on a print job generated from new print data receivedfrom an external device, print processing performed based on a job thatis in a suspended state and is occupying a hardware resource for theprinting unit or the like cannot be overtaken, so that the imageprocessing apparatus may stop in a waiting state.

SUMMARY OF THE INVENTION

Aspects of the present invention are generally directed to providing ascheme of performing control, when a user logs out of an imageprocessing apparatus while a job including print processing remainssuspended by a user operation, to prevent the job from remainingsuspended.

According to an aspect of the present invention, an image processingapparatus that performs print processing based on a job includes areception unit configured to receive an operation performed by a user, achange unit configured to, in response to the reception unit receiving apredetermined operation, change a job on which the print processing isnot yet completed to a suspended state, and a job control unitconfigured to, when detecting a logout event that causes a user who islogged into the image processing apparatus to log out of the imageprocessing apparatus, resume at least one job and cancel a job or jobsthat are not resumed by the job control unit selected from jobs changedby the change unit to be in the suspended state.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating an image processing systemaccording to a first exemplary embodiment.

FIG. 2 is an external view illustrating an operation unit and a cardreader.

FIG. 3 illustrates user data.

FIGS. 4A and 4B illustrate examples of login screens displayed on thepanel of an operation unit.

FIG. 5 is a flowchart illustrating control for login authentication.

FIGS. 6A and 6B illustrate examples of screens concerning a copyfunction displayed on the panel of the operation unit.

FIG. 7 illustrates data included in a print processing task.

FIGS. 8A and 8B illustrate task management for print processing.

FIG. 9 illustrates an example of a copy job cancellation screendisplayed on the panel of the operation unit.

FIG. 10 illustrates an example of a setting screen displayed on thepanel of the operation unit.

FIG. 11 is a flowchart illustrating a control method for a multifunctionperipheral (MFP).

FIG. 12 is a flowchart illustrating reception control for a copy jobperformed via the operation unit.

FIG. 13 is a flowchart illustrating cancellation control for a copy job.

FIG. 14 is a flowchart illustrating control for copy job performedduring logout.

FIG. 15 illustrates an example of a setting screen displayed on thepanel of the operation unit according to a second exemplary embodiment.

FIG. 16 illustrates data included in a print processing task accordingto the second exemplary embodiment.

FIGS. 17A, 17B, and 17C illustrate control for a copy job performedduring logout according to the second exemplary embodiment.

FIG. 18 is a flowchart illustrating control for a copy job performedduring logout according to the second exemplary embodiment.

FIG. 19 is a flowchart illustrating cancellation control for a copy jobaccording to a third exemplary embodiment.

DESCRIPTION OF THE EMBODIMENTS

Various exemplary embodiments, features, and aspects of the inventionwill be described in detail below with reference to the drawings.Furthermore, the following exemplary embodiments are not intended tolimit the invention set forth in the claims, and not all of thecharacteristics described in the exemplary embodiments are necessarilyessential for solutions for the invention.

First, a first exemplary embodiment of the present invention isdescribed. In the first exemplary embodiment, execution of copyinginstruction is received in response to an operation performed by theuser. In response to receipt of execution of copying instruction, a copyjob is generated, and read processing for reading an original isperformed by a reading unit. Upon completion of reading of the original,print processing for printing the image data representing the readoriginal is performed. Upon completion of the print processing, the copyjob is ended.

Furthermore, when a stop key is pressed during execution of the copyjob, the copy job is suspended. Accordingly, the read processing or theprint processing performed based on the copy job enters a suspendedstate.

When the user logging out is detected while the copy job is in thesuspended state in the above-described way, the copy job is controlledin such a way as to prevent the copy job from remaining suspended.

FIG. 1 is a block diagram illustrating an image processing systemaccording to the present exemplary embodiment. In the present exemplaryembodiment, a multifunction peripheral (MFP) 101 is described as anexample of an image processing apparatus, and a personal computer (PC)102 is described as an example of an information processing apparatus.The MFP 101 and the PC 102 are interconnected via a network 100 in sucha way as to be able to communicate with each other.

Furthermore, although, in FIG. 1, a case where a single informationprocessing apparatus is provided in the image processing system isillustrated as an example, the MFP 101 and a plurality of informationprocessing apparatuses can be interconnected via the network 100 in sucha way as to be able to communicate with one another. Moreover, although,in the present exemplary embodiment, a case where the image processingsystem includes the MFP 101 and the PC 102 is illustrated as an example,this is not limiting. For example, the MFP 101 alone can be referred toas an image processing system.

First, the PC 102 is described. The PC 102 is able to execute variousprograms, such as application programs. Moreover, the PC 102 has aprinter driver installed thereon for sending print data to a printer. Auser who intends to perform printing can issue a printing instructionvia various applications. The printer driver can convert data outputfrom an application based on the printing instruction into a pagedescription language (PDL) that is may be interpreted by the MFP 101 andsend the PDL to the MFP 101.

Next, the MFP 101 is described. The MFP 101 has a reading function,which reads an image on a sheet, and a print function, which prints animage on a sheet. Additionally, the MFP 101 has other functions, such asa file transmission function for transmitting image data to an externaldevice.

Furthermore, although, in the present exemplary embodiment, the MFP 101is described as an example of an image processing apparatus, this is notlimiting. For example, a printing apparatus, such as a printer, havingno reading function can be employed. Moreover, an image readingapparatus, such as a scanner, having no print function can also beemployed. In the present exemplary embodiment, a printing apparatusincluding the following various constituent elements is employed by wayof example.

A control unit 110, which includes a central processing unit (CPU) 111,controls an operation of the entire MFP 101. The CPU 111 reads outcontrol programs stored in a read-only memory (ROM) 112 or a storage 114and performs various control operations, such as reading control andprinting control. The ROM 112 stores control programs, which areexecutable by the CPU 111. A random access memory (RAM) 113, which is amain storage memory for the CPU 111, is used as a work area or atemporary storage region onto which to load the control programs storedin the ROM 112 and the storage 114. The storage 114 stores, for example,print data, image data, various programs, and various pieces of settinginformation. Although, in the present exemplary embodiment, an auxiliarystorage device, such as a hard disk drive (HDD), is supposed to be usedas the storage 114, a non-volatile memory, such as a solid state drive(SSD), can be used instead of the HDD.

Furthermore, although, in the MFP 101 according to the present exemplaryembodiment, a single CPU 111 performs each processing illustrated in theflowcharts described below using a single memory (RAM 113), anotherconfiguration can be used. For example, a plurality of CPUs, RAMs, ROMs,and storages can cooperate to perform each processing illustrated in theflowcharts described below. Moreover, a hardware circuit, such asapplication specific integrated circuits (ASIC) or Field ProgrammableGate Array (FPGA), can be used to perform a part of processingoperations.

An operation unit interface (I/F) 115 connects an operation unit 116 andthe control unit 110. A universal serial bus (USB) I/F 121 connects aperipheral device and the control unit 110. In the case of FIG. 1, anintegrated circuit (IC) card reader 122 is connected to the USB I/F 121.The IC card reader 122 is able to read an IC card and acquireinformation stored in the card.

FIG. 2 is an external view illustrating the operation unit 116 and theIC card reader 122. The operation unit 116 includes a panel 201, whichdisplays an operation screen, which is described below, and a hardwarekey input unit 202. The panel 201 is, for example, a touch paneldisplay. The hardware key input unit 202 includes various hardware keys,such as a stop key 211, a start key 212, and an ID key 213. The user cantouch a key displayed on the panel 201 or press various hardware keys onthe hardware key input unit 202 to input an instruction. The operationunit 116 functions as a reception unit that receives an instructionissued from the user via the panel 201 or the input unit 202, orfunctions as a display that displays an operation screen on the panel201 as appropriate. Moreover, the stop key 211 is a key used to issue astop instruction for a copy job. Additionally, although, in the presentexemplary embodiment, a case where the stop key 211 is configured as ahardware key is illustrated by way of example, this is not limiting. Forexample, the stop key 211 can be a software key displayed on the panel201.

Furthermore, the IC card reader 122 is a card reader that is used whencard authentication is performed in login authentication, which isdescribed below. When the user touches the card reader 122 with the ICcard (moves the IC card closer to the card reader 122), the card reader122 can acquire information from the IC card.

Referring back to FIG. 1, a reading unit I/F 117 connects a reading unit118 and the control unit 110. The reading unit 118 reads an image on asheet to generate image data. The image data generated by the readingunit 118 is transmitted to an external device or is printed on a sheet.Moreover, the reading unit 118 is able to read a plurality of sheets ofan original by performing a flowing-original reading operation withrespect to sheets placed on a document feeder (not illustrated).

A printing unit I/F 119 connects a printing unit 120 and the controlunit 110. Image data to be printed is transferred from the control unit110 to the printing unit 120 via the printing unit I/F 119. The printingunit 120 receives a control command and image data, which is to beprinted, via the control unit 110, and prints an image formed based onthe image data on a sheet. The printing method used by the printing unit120 can be an electrophotographic method or an ink-jet method. Anothermethod (for example, a thermal transfer method) can be used as long asit is a method capable of printing an image on a sheet.

Furthermore, the control unit 110 is connected to the network 100 via acommunication unit I/F 123. The communication unit I/F 123 transmitsimage data and information to an external device on the network 100 orreceives print data and information from an information processingapparatus on the network 100.

The print data received via the communication unit I/F 123 is analyzedby a software module (a PDL analysis unit, not illustrated), which isused to analyze print data stored in the storage 114 or the ROM 112. ThePDL analysis unit generates a print job (details thereof being describedbelow), which is used for printing by the printing unit 120, based onprint data expressed by various types of page description languages(PDLs).

<Login Authentication Function>

Next, a login authentication function included in the MFP 101 accordingto the present exemplary embodiment is described. The MFP 101 provides auser, who is permitted to log in by login authentication, with variousfunctions, such as copying, included in the MFP 101. The user usesvarious functions of the MFP 101 via the operation unit 116 of the MFP101.

FIG. 3 illustrates an example of user data stored in the storage 114 ofthe MFP 101. User information 300, which is information for managingusers to be allowed to log in to the MFP 101, includes, for example, auser ID 301, a password 302, a card ID 303, and a role 304. Besides, theuser information 300 can further include other management data, such asthe expiration date of a password and an e-mail address.

The user ID 301 is a user ID uniquely indicating a user. Moreover, thepassword 302 is a password used to authenticate a user. The card ID 303is a key used to identify a specified user from among a plurality ofpieces of user information 300. Additionally, the card ID 303 isauthentication information associated with an IC card possessed by theuser of the MFP 101.

The role 304 is information indicating the authority of a user. In thecase of FIG. 3, examples of the role 304 include two types, i.e.,“Administrator”, which indicates a user having an authority to managethe MFP 101, and “GeneralUser”, which indicates a general user of theMFP 101. For example, a user with a role of “Administrator” is allowedto perform, for example, management setting of the MFP 101. Hereinafter,a user with a role of “Administrator” is referred to as an“administrator”.

The user of the MFP 101 is allowed to log in to the MFP 101 using one ofcard authentication and keyboard authentication.

FIG. 4A illustrates an example of a screen used to receive a user'slogin (hereinafter, referred to as a “login screen”), which is displayedon the panel 201 of the operation unit 116. A card authentication screen410 illustrated in FIG. 4A, which is a screen displayed in the case ofreceiving a login with an IC card held, indicates an example in which acard authentication key 401 has been selected. The card authenticationkey 401 illustrated in FIG. 4A is a key used to display a screenrequired to perform card authentication. The user is able to log in withan IC card by moving the IC card closer to the card reader 122.

The CPU 111 acquires information from the IC card held near the cardreader 122. Additionally, the CPU 111 is able to authenticate the userby performing verification between the information acquired from thecard reader 122 and the card ID 303 of the user data stored in thestorage 114.

Furthermore, a keyboard authentication key 402 illustrated in FIG. 4A isa key used to display a screen required to perform keyboardauthentication. When the keyboard authentication key 402 is pressed, theCPU 111 switches the screen displayed on the panel 201 to a keyboardauthentication screen 420. FIG. 4B illustrates an example of thekeyboard authentication screen 420.

The user can log in to the MFP 101 by entering the user's user ID andpassword while the keyboard authentication screen 420 is displayed. Afield 421 is used to enter a user ID, and a field 422 is used to enter apassword. Moreover, a login key 424 is an operation key used to startlogin processing.

When the login key 424 is pressed, the CPU 111 performs verificationbetween authentication information input to the fields 421 and 422 andauthentication information stored as the user data, and then determineswhether to permit the user to log in.

Furthermore, although, in the present exemplary embodiment, a case wherewhether to permit the user to log in is determined using the user datastored in the storage 114 of the MFP 101 is described by way of example,this is not limiting. For example, a method of connecting to an externalauthentication server via the communication unit I/F 123 and using aresult of authentication provided by the external authentication servercan be employed. In this case, exchange of authentication informationwith the external authentication server is performed using a knowntechnique, such as the Lightweight Directory Access Protocol (LDAP).

Specific control over login authentication is described with referenceto the flowchart of FIG. 5. Each operation (step) in a flowchartillustrated in FIG. 5 is implemented by the CPU 111 reading a controlprogram stored in the ROM 112 or the storage 114 onto the RAM 113 andexecuting the control program. The MFP 101 executes the flowchart ofFIG. 5 when detecting an event in which the user starts an operation onthe MFP 101, which is in a logout state. More specifically, when the MFP101 is operated in a case where no user is logging in to the MFP 101,the CPU 111 performs control corresponding to the flowchart of FIG. 5.

In step S501, the CPU 111 displays the card authentication screen 410 onthe panel 201. Then, the CPU 111 receives user's inputs (for example,switching to the keyboard authentication screen 420 and inputs ofauthentication information via the fields 421 and 422) via the operationunit 116 as appropriate.

In step S502, the CPU 111 determines whether a login instruction hasbeen issued. More specifically, when the login key 424 or the ID key 213is pressed after the authentication information (a user ID and apassword) is received via the keyboard authentication screen 420 in stepS501, the CPU 111 determines that the login instruction has been issued(YES in step S502). Moreover, when the card reader 122 has detected theIC card via an external I/F under the condition that the screen 410 isdisplayed, the CPU 111 also determines that the login instruction hasbeen issued (YES in step S502), and the processing then proceeds to stepS503. On the other hand, in a case where any of the login key 424 andthe ID key 213 is not pressed or in a case where no IC card is detectedby the card reader 122, the CPU 111 determines that a login instructionhas not been issued (NO in step S502), and then ends the loginprocessing without performing authentication.

In step S503, the CPU 111 acquires the authentication information. In acase where a login instruction using a card has been issued in stepS502, the CPU 111 acquires card information from the IC card detected instep S502. On the other hand, in a case where a login instruction usingthe login key 424 or the ID key 213 has been issued in step S502, theCPU 111 acquires a user ID and a password input via the screen 420.

In step S504, the CPU 111 performs verification between theauthentication information acquired in step S503 and the user data. Ifthe CPU 111 permits login as a result of the verification (OK in stepS504), the processing proceeds to step S505, and, if the CPU 111 doesnot permit login (NG in step S504), the processing proceeds to stepS508. More specifically, in the case of a login instruction using acard, the CPU 111 searches the user data stored in the storage 114 withthe information acquired from the IC card in step S503 used as a searchkey. If, as a result of search, a user having the same card ID 303 ispresent, the CPU 111 permits login, and, if no user having the same cardID 303 is present, the CPU 111 does not permit login.

Furthermore, in the case of a login instruction issued via the keyboardauthentication screen 420, the CPU 111 searches the user data stored inthe storage 114 with the ID acquired in step S503 used as a search key.If, as a result of search, a user having the same ID and the samepassword is present, the CPU 111 permits login, and, if no user havingthe same ID and the same password is present or if there is a differencein password even when a user having the same ID is present, the CPU 111does not permit login.

In step S505, the CPU 111 generates a session identifier (ID) used tomanage a session of login to the MFP 101, and temporarily stores thesession ID in the RAM 113. Furthermore, the term “session” in thepresent exemplary embodiment refers to a series of interactions during aperiod (a serial period) from when the user logs in to the MFP 101 towhen the user logs out. In present exemplary embodiment, the CPU 111manages a session by assigning, to the session, a session ID foruniquely identifying the session when the user logs in. Moreover, in acase where a plurality of users is logging in to the MFP 101, the MFP101 is supposed to control, for example, screens to be provided to therespective users based on session IDs.

In step S506, the CPU 111 acquires user data of the user permitted forlogin in step S504, generates session data in which the acquired userdata is associated with the session ID generated in step S505, andtemporarily stores the session data in the RAM 113. The session dataincludes the user ID 301 and the role 304 (authority information on auser). Moreover, the session data further includes an e-mail address ofa user. The session data is used as appropriate for control operationsin the flowcharts described below and for various functions of the MFP101.

In step S507, the CPU 111 displays an operation screen for the MFP 101on the panel 201. For example, the CPU 111 displays a main screen inwhich buttons (icons) for starting various functions included in the MFP101 (for example, a copy function for printing on a sheet an imageobtained by scanning an original using the reading unit 120 and a filetransmission function for transmitting to an external device an imageobtained by scanning an original using the reading unit 120) aredisplayed in a selectable manner. Furthermore, in a case where aninitial screen (for example, a copy screen) of the MFP 101 isadditionally set, the CPU 111 can display the initial screen. Moreover,in the present exemplary embodiment, processing performed from step S505to step S507 is referred to as “login processing”. When the loginprocessing is completed and the operation screen of the MFP 101 isdisplayed on the panel 201, the CPU 111 ends the login processing.

On the other hand, in step S508, the CPU 111 notifies the user thatlogin has failed, via the panel 201, and then ends the login processing.

The user, who has logged in to the MFP 101 through steps of loginauthentication illustrated in FIG. 5, is allowed to use variousfunctions included in the MFP 101 via the operation unit 116.

<Copy Function>

Next, the method for the MFP 101 to receive a copy job is described witha copy function included in the MFP 101 taken as an example.

First, copy setting is described. FIG. 6A illustrates an example of acopy screen displayed on the panel 201. A setting screen 601 illustratedin FIG. 6A represents an example of a setting screen for copying.Moreover, an execution screen 603 illustrated in FIG. 6B represents anexample of an execution screen displayed during execution of a copy job.

The user, who has logged in to the MFP 101, can select a copy functionfrom a main screen (not illustrated) displayed on the panel 201.

The CPU 111 displays the setting screen 601 illustrated in FIG. 6Aaccording to a button for the copy function being pressed by the userunder the condition that the main screen is displayed.

The user can perform various copy settings via the setting screen 601.For example, the user can perform various settings, such as setting ofthe number of copies, switching between monochrome and color, andsetting of two-sided printing (duplex printing). Furthermore, the copysetting further includes a great number of setting items that are notillustrated in FIG. 6A. Thus, it is difficult to perform all of thesettings within one and the same screen. Accordingly, setting of aplurality of functions is supposed to be performed with an individualsetting screen shifted for each setting item. Moreover, FIG. 6Aillustrates an example case where the number of copies to print is setto “20”.

Furthermore, the screen displayed on the panel 201 after the user logsin is composed of, for example, a menu bar 610, a main region 620, and alower bar 630. The menu bar 610 is used to display, for example, thename of a function that the MFP 101 is executing and the user ID of theuser who is logging in. An area 615 is used to display the user ID ofthe user who is logging in. Moreover, the main region 620 is used todisplay the items about a function that is being executed. Additionally,the lower bar 630 is used to display, for example, status information onthe apparatus, which is to be displayed to the user, and a logout key631.

The logout key 631 is a key that is used when the user logs out of theMFP 101. Moreover, the user can also log out using the ID key 213.Furthermore, if the user has already logged out of the MFP 101 when theID key 213 is pressed, the CPU 111 performs processing similar to thatperformed when the login key 424 is pressed. Additionally, if the useris logging in to the MFP 101 when the ID key 213 is pressed, the CPU 111performs processing similar to that performed when the logout key 631 ispressed.

Furthermore, if no operation continues for a predetermined time underthe condition that the user is logging in, the CPU 111 automaticallycauses the user to log out of the MFP 101 (referred to as “automaticlogout”).

When the CPU 111 detects that the start key 212 is pressed under thecondition that the setting screen 601 is displayed, the CPU 111generates a copy job. Moreover, based on the copy job, the CPU 111performs read processing, which reads an original via the reading unit118, and print processing, which prints read image data on a sheet.

When execution of the generated copy job is started, the CPU 111 startsread processing, which reads an original via the reading unit 118, andalso displays the execution screen 603 for copying illustrated in FIG.6B on the panel 201. Upon completion of the read processing, the CPU 111performs print processing, which prints image data of the read originalon a sheet. Hereinafter, print processing which is performed based on acopy job is referred to as “copy job-based print processing”. Moreover,read processing which is performed based on a copy job is referred to as“copy job-based read processing”. Additionally, print processing isdescribed below with reference to FIG. 7.

A cancel key 612 is a key used to cancel a copy job. Moreover, a closekey 611 is an operation key that is displayed after the copy job-basedread processing is completed, and is used to close a pop-up screen 604.When detecting that the close key 611 has been pressed under thecondition that the screen 603 is displayed, the CPU 111 closes thepop-up screen 604 and displays the setting screen 601. The user canreserve a new copy job via the setting screen 601 (reserved copying).

In this way, according to the present exemplary embodiment, when readprocessing for an original of a generated copy job is complete, even ifprint processing that is performed based on the copy job is notcomplete, a next copy job can be generated.

More specifically, when reading of an original is complete, a printprocessing task, which prints read image data, is generated.Additionally, the print processing task refers to a unit of processingthat controls the printing unit 120 to print an image on a sheet. In thepresent exemplary embodiment, a plurality of tasks of print processingis generated based on a copy job and a print job, which is describedbelow. The plurality of tasks of print processing is sequentiallyperformed by a task scheduler, which is described below.

When a print processing task generated based on a copy job is performedand printing on a sheet is then complete, execution of one copy job iscomplete.

Next, print processing is described. FIG. 7 illustrates an example ofdata included in a print processing task.

For example, the data included in a print processing task includes printdata 707 containing data to be printed (such as image data) receivedwhen the print processing task is generated, print settings, and otherinformation. Moreover, the data included in a print processing task hasattributes appended thereto for managing print processing, such as atask ID 701, input date and time 702, task generation source 703, jobname 704, job owner name 705, and status 706.

The task ID 701 is identification information for uniquely identifyingprint processing. The input date and time 702 is information indicatingthe date and time when the print processing task was generated.Moreover, the task generation source 703 is information for specifyingthe type of a job generated in the print processing task. In the exampleillustrated in FIG. 7, data included in a task of copy job-based printprocessing is illustrated.

The job name 704 is information obtained from a job used to generate theprint processing task and is information indicating the name of the job.In the case of a task of print job-based print processing, the name foridentifying a print job (for example, the file name of print data) iscontained in the job name 704. Additionally, the job owner name 705 isinformation obtained from a job used to generate the print processingtask and is information indicating the name of a user who has executedthe job. In the example illustrated in FIG. 7, the job owner name 705 is“UserA”. The status 706 is information used for the CPU 111 to controlexecution of a print processing task, and contains information, such as“printing in progress”, “waiting for printing”, “suspended”, and “errorstate”. Furthermore, these pieces of data used for print processing canbe referred to or changed as appropriate in control operationsillustrated in the below-described flowcharts and in control operationsfor various functions.

First, copy job-based print processing is described. When reading of anoriginal by the reading unit 118 is complete during execution of a copyjob, the CPU 111 generates a print processing task. At this time, “copyjob” is stored as the task generation source 703, and “copy” is storedas the job name 704.

Next, print job-based print processing is described. When receiving PDLdata from an external device, the CPU 111 causes a PDL analysis unit(not illustrated) to convert the PDL data into data adapted for printingand then generates a print job. When execution of the generated printjob is started, the CPU 111 generates a task of print job-based printprocessing. At this time, “print job” is usually stored as the taskgeneration source 703, and, for example, the file name of the PDL datais stored as the job name 704.

Furthermore, even when, for example, a report indicating the status ofthe MFP 101 is printed, the CPU 111 generates a report based on, forexample, settings of devices and history information, and generates aprint job for printing the report. When execution of the generated printjob is started, the CPU 111 generates a print processing task. At thistime, “report print job” is stored as the task generation source 703.

Thus, the MFP 101 executes a plurality of tasks of print processing,such as a task of copy job-based print processing and a task of printjob-based print processing.

In the present exemplary embodiment, to manage execution of such aplurality of tasks of print processing, the CPU 111 determines the orderof execution of the tasks of print processing as appropriate based on,for example, the order in which the tasks of print processing weregenerated, the attributes thereof, and the statuses thereof.

FIGS. 8A and 8B are diagrams used to illustrate control operationsconcerning the order of execution of a plurality of tasks of printprocessing. FIG. 8A illustrates an example of a management list usedwhen four tasks of print processing are executed. Moreover, themanagement list is supposed to be stored in the RAM 113.

Management information 811 is an example of management information formanaging a task for which printing is currently in progress in theprinting unit 120. Moreover, management information 812 is an example ofmanagement information for managing a task which is waiting forprinting. In this way, at the first row of the table, managementinformation for a task to be first executed is stored. Additionally,pieces of management information for tasks which are waiting forprinting are stored at the next and subsequent rows of the list.

Items 801 to 806 are fields in which attributes for managing a printprocessing task, which are respective pieces of information on the items701 to 706 illustrated in FIG. 7, are stored.

Along with execution of a copy job or print job, at the print processingtask is generated, the CPU 111 adds management information for the taskto the list. Moreover, management information for a new task to be addedis added to the last row of the list. Additionally, when new managementinformation is added to the list, the rows in the list are permuted (therows are sorted in the order of printing) as appropriate according to,for example, the type, status, and priority setting of a job based onwhich the added task is generated.

Furthermore, at the timing when a printing operation of the printingunit 120 is completed, the CPU 111 deletes management information formanaging a print processing task for which the printing operation of theprinting unit 120 is completed. Moreover, when the managementinformation is deleted from the table, the CPU 111 shifts the pointerpointing to the first row of the list to the next row. Accordingly, whenexecution of the print processing task corresponding to the managementinformation 811 is completed, the management information 811 is deleted,and the first row of the list becomes a row indicating managementinformation 812. Additionally, when the status 806 in managementinformation stored in the first row of the table is “waiting forprinting”, the CPU 111 rewrites the status 806 to read “printing inprogress”, and then executes a print processing task corresponding tothe management information concerned.

In this way, in the present exemplary embodiment, each time a printprocessing task is generated, the CPU 111 adds management informationfor managing the task to the management list, and changes the order ofprinting as appropriate. Moreover, when printing performed based on aprint processing task is complete, the CPU 111 deletes managementinformation for managing the task, and then starts execution of a printprocessing task to be next executed. Accordingly, a plurality of tasksof print processing loaded into the MFP 101 is sequentially executed inthe order of printing managed with the management list.

Furthermore, for example, when consumables used for printing run out, aprinting operation of the printing unit 120 may be interrupted. In thiscase, the CPU 111 rewrites the status 806 in management information formanaging the interrupted print processing task to read “stopped”.Moreover, when processing concerning the interrupted printing operationis complete, the CPU 111 rewrites the status 806 in managementinformation for managing the interrupted print processing task to read“printing in progress” or “waiting for printing”.

Additionally, the CPU 111 can manage the order of execution of tasks ofprint processing based on a list structure, such as a queue, instead ofthe management list illustrated in FIG. 8A. In this case, each time aprint processing task is generated, the CPU 111 stores the printprocessing task into a queue. Moreover, each time execution of the taskis completed, the CPU 111 extracts a print processing task from thequeue, and then executes the extracted print processing task.Accordingly, tasks are executed in turn starting with a task for a copyjob instructed to be first executed. Moreover, when storing a printprocessing task into the queue, the CPU 111 determines priority asappropriate according to, for example, job attributes and settings ofpriority. The CPU 111 performs sorting within the queue as appropriatebased on the determined priority.

In this way, the CPU 111 is able to control execution of a plurality oftasks of print processing generated in connection with execution of acopy job or print job, according to the task scheduling described withreference to FIG. 8A.

Furthermore, the MFP 101 according to the present exemplary embodimentincludes a copy job suspension function for suspending all of the copyjobs. This function enables, under the condition that all of the copyjobs loaded into the MFP 101 are suspended, the user to perform anoperation to select a copy job to be canceled.

When the stop key 211 is pressed under the condition that a screenassociated with copying (the screen 601 or 603) is displayed on thepanel 201, the CPU 111 changes all of the copy jobs that are beingexecuted to a suspended state. Moreover, the CPU 111 displays a pop-upscreen for selecting a copy job to be canceled from among a list of thesuspended copy jobs.

FIG. 9 illustrates an example of a screen displayed on the panel 201, onwhich a pop-up screen 900 for canceling a copy job is also displayed asan example.

When the stop key 211 is pressed under the condition that a screenassociated with copying (the screen 601 or 603) is displayed on thepanel 201, the CPU 111 changes a copy job to a suspended state.Moreover, when a copy job enters a suspended state, copy job-based readprocessing, copy job-based print processing, and other processing arealso suspended. Accordingly, when an instruction to suspend a copy jobis issued, the status of a task of the corresponding copy job-basedprint processing is supposed to be also changed to “suspended”.

For example, the CPU 111 changes tasks of print processing the taskgeneration source of which is a copy job and the status of which is“printing in progress” or “waiting for printing” to a suspended state,as illustrated in FIG. 8B. When changing a task of copy job-based printprocessing the status of which is “printing in progress” to a suspendedstate, the CPU 111 controls the printing unit 120 to interrupt printprocessing on a sheet. Furthermore, when execution of copy job-basedread processing is in progress, the CPU 111 changes the copy job-basedread processing to a suspended state. Additionally, when reading of anoriginal has been performed halfway, the CPU 111 can change the task toa suspended state after reading of the original is completed.

A list of copy jobs that have been suspended is displayed on the pop-upscreen 900. The user can select a row indicating a copy job displayed onthe screen 900 and cancel execution of the selected copy job. In thecase of the screen 900, a row 901 is selected as an example.

A cancel key 902 is a key used to cancel execution of the selected copyjob. When the cancel key 902 is pressed, the CPU 111 cancels executionof a copy job corresponding to the row selected via the screen 900. Aresumption key 903 is a key used to resume execution of a copy job thatis in a suspended state. When the resumption key 903 is pressed, the CPU111 resumes execution of read processing and print processing of all ofthe copy jobs. Additionally, the cancellation processing includesprocessing for canceling a copy job and processing for deleting thecanceled copy job.

When resuming execution of copy job-based print processing, the CPU 111controls a task of the copy job-based print processing that is in asuspended state and changes the status of the task of the copy job-basedprint processing to “waiting for printing”.

In this way, in the present exemplary embodiment, when the stop key 211is pressed under the condition that the user is using a copy function(the screen 601 or 603 is displayed), all of the copy jobs can besuspended. This processing can prevent such a situation that, duringselection of a copy job intended to be canceled, print processingproceeds and wasteful printout is performed.

Then, when the user who has pressed the stop key 211 sees a printingoperation of the printing unit 120 having stopped, the user maymisunderstand that a copy job that is being executed has been canceled.In this case, the user may log out of the image processing apparatuswithout checking a suspension screen displayed on the operation unit.Then, if logout processing is simply performed, such a situation wouldoccur that no user is logging in to the image processing apparatus whilethe copy job remains suspended. In the case of the condition that nouser is logging in, as a login screen is displayed, each functionbecomes unusable.

Moreover, in a case where a user who intends to cancel a copy job haspressed the stop key, the user, when becoming aware that the printoutoperation has been suspended, may misunderstand that a copy job that isbeing executed has been indeed canceled, and thus may leave the imageprocessing apparatus without performing any operation. In this case, ifthe user is caused to log out by the automatic logout function, theimage processing apparatus would be switched to a state in which no useris logging in.

In this case, a copy job loaded by the user who has logged out or a copyjob loaded by another user would remain in a suspended state.Accordingly, even a job other than the job that the user intends tocancel would remain suspended.

In addition, a hardware resource used for a printing unit or the likemay continue being occupied by a print processing task performed basedon a copy job that is in a suspended state. In a case where a hardwareresource used for a printing unit or the like is occupied, even if a newprint processing task is generated based on a print job such as thatindicated by a row 814 illustrated in FIG. 8B, a print processing taskperformed based on a copy job that is occupying the hardware resourcecannot be overtaken by the new print processing task. Accordingly, aprint processing task performed based on the new generated print job mayalso stop in a waiting state, so that the efficiency of printing maydecrease.

In conventional image processing apparatuses, in an environment whereauthentication management premised on login of users is not performed,if the user leaves an image processing apparatus with all of the copyjobs suspended, the suspended state continues until a user who next usesthe image processing apparatus issues an instruction to resume or cancelthe copy jobs. In other words, until someone becomes aware that copyjobs have been suspended and deals with the suspended state, a situationwould occur in which printing for the copy jobs or printing for anysubsequent print job cannot be performed.

On the other hand, in image processing apparatuses in whichauthentication management premised on login of users is performed, itwould be possible to control copy jobs using a user's login as atrigger.

In view of the above circumstances, in the present exemplary embodiment,when the user logs out of an image processing apparatus with a copy jobsuspended, execution of the copy job is controlled in such a manner thatthe copy job is prevented from remaining suspended. Further detailsthereof are described below.

The administrator of the MFP 101 is able to previously set how toprocess a copy job that is suspended at the time of logout.

FIG. 10 illustrates an example of a setting screen for a copy operationdisplayed on the panel 201. Radio buttons 1001 to 1004, which are radiobuttons for selecting one setting from among a plurality of buttons(options), are used to set how to deal with a copy job that is in asuspended state at the time of logout. The radio button 1001 is a buttonthat is selected when the administrator intends to perform control tocancel a copy job that is in a suspended state at the time of logout.The radio button 1002 is a button that is selected when theadministrator intends to perform control to resume a copy job that is ina suspended state at the time of logout. The radio button 1003 is abutton that is selected when the administrator intends to performcontrol, among copy jobs that are in a suspended state at the time oflogout, to change only a copy job of the user who logs out of the MFP101 to an error state and to resume a copy job of another user.Additionally, the radio button 1004 is a button that is selected whenthe administrator intends to perform control, among copy jobs that arein a suspended state at the time of logout, to cancel only a copy job ofthe user who logs out of the MFP 101 and to resume a copy job of anotheruser.

An OK key 1011 is a key that is used when the administrator changes thesettings of the MFP 101 based on the setting items set via the screen.Moreover, a setting cancel key 1012 is a key that is used when theadministrator discards the settings set via the screen.

The administrator of the MFP 101 is able to previously set how to dealwith a copy job that is in a suspended state at the time of logout(hereinafter referred to as “suspended-job processing setting”), via thescreen illustrated in FIG. 10. The value of suspended-job processingsetting that has been set by the administrator is stored in the storage114 or the RAM 113, and is then referred to in the flowcharts describedbelow.

For example, when the OK key 1011 is pressed under the condition thatthe radio button 1001 is selected, the CPU 111 stores “mode 1” as thesuspended-job processing setting. When the OK key 1011 is pressed underthe condition that the radio button 1002 is selected, the CPU 111 stores“mode 2” as the suspended-job processing setting. When the OK key 1011is pressed under the condition that the radio button 1003 is selected,the CPU 111 stores “mode 3” as the suspended-job processing setting.When the OK key 1011 is pressed under the condition that the radiobutton 1004 is selected, the CPU 111 stores “mode 4” as thesuspended-job processing setting.

The MFP 101 controls jobs based on the suspended-job processing settingthat has been set by the administrator, in such a way as to prevent thejobs from remaining suspended.

Furthermore, while, in the present exemplary embodiment, an example hasbeen described in which the administrator performs suspended-jobprocessing setting via the screen illustrated in FIG. 10, this is notlimiting. For example, an ordinary user (general user) can be allowed toperform suspended-job processing setting.

<Control over a Suspended Job>

Next, a method of controlling execution of a copy job in such a way asto prevent the copy job from remaining suspended, when the user logs outof the image processing apparatus under the condition that the user hassuspended the copy job is described with reference to flowchartsillustrated in FIGS. 11 to 14. Each operation (step) in the flowchartsillustrated in FIGS. 11 to 14 is implemented by the CPU 111 reading acontrol program stored in the ROM 112 or the storage 114 onto the RAM113 and executing the control program.

The CPU 111 is supposed to perform operations in the flowchart of FIG.11 when the MFP 101 is powered on and is operating in a normal mode.When electric power is supplied to the MFP 101 and the MFP 101 becomesready to use according to various boot programs, the CPU 111 performscontrol operations illustrated in the flowchart of FIG. 11. Withreference to FIG. 11, an operation in which the MFP 101 executes tasksof print processing in turn based on management information managed in amanagement list and an operation in which the MFP 101 adds, to themanagement list, new management information for managing a printprocessing task are described.

In step S1101, the CPU 111 determines whether print data has beenreceived from an external device. If the CPU 111 determines that printdata has been received from an external device (YES in step S1101), theprocessing proceeds to step S1102, and, if the CPU 111 determines thatno print data has been received (NO in step S1101), the processingproceeds to step S1103.

In step S1102, the CPU 111 causes a PDL analysis unit (not illustrated)to convert the print data received from the external device into dataadapted for printing and then generates a print job. Furthermore, theCPU 111 starts execution of the print job and generates a printprocessing task based on the print job. Moreover, the CPU 111 adds, tothe management list, management information for managing the generatedprint processing task. When adding the management information to themanagement list, the CPU 111 changes the order of tasks (order ofprinting) in the management list as appropriate.

In step S1103, the CPU 111 determines whether a user is logging in tothe MFP 101. If the CPU 111 determines that a user is logging in to theMFP 101 (YES in step S1103), the processing proceeds to step S1200, and,if the CPU 111 determines that no user is logging in to the MFP 101 (NOin step S1103), the processing proceeds to step S500.

In step S500, the CPU 111 performs login processing illustrated in theflowchart of FIG. 5. Upon completion of a series of login processingoperations, the processing proceeds to step S1104.

On the other hand, in step S1200, the CPU 111 performs a series ofprocessing operations concerning an operation performed by the user viathe operation unit 116 and reception processing for a copy job. Detailsof a series of processing operations concerning an operation performedby the user via the operation unit 116 and reception processing for acopy job are described below with reference to a flowchart illustratedin FIG. 12.

In step S1104, the CPU 111 executes a print processing task based on themanagement list stored in the RAM 113. The CPU 111 refers to informationat the first row of the management list, and sequentially executes thecorresponding print processing task. The CPU 111 transfers image data(data 707) included in the print processing task to the printing unit120 via the printing unit I/F 119. Moreover, the CPU 111 controls theprinting unit 120 based on the print setting to print the image data ona sheet.

In step S1105, the CPU 111 determines whether print processing in stepS1104 has been completed. If the CPU 111 determines that the printprocessing has been completed (YES in step S1105), the processingproceeds to step S1106. On the other hand, if the CPU 111 determinesthat the print processing has not yet been completed (NO in step S1105),the processing returns to step S1101.

In step S1106, the CPU 111 ends the print processing task in whichprinting in step S1104 has been completed. As end processing for a printprocessing task, the CPU 111 notifies a job (copy job or print job),which is the generation source based on which the print processing taskhas been generated, that print processing has been completed. Moreover,the CPU 111 deletes, from the management list, management informationcorresponding to the print processing task in which printing in stepS1104 has been completed. Upon completion of the deletion, theprocessing proceeds to step S1107.

Furthermore, the CPU 111 appropriately controls a print job or copy jobthat is being executed. When the print job or copy job receives anotification indicating that print processing has been completed, theCPU 111 ends execution of the job.

In step S1107, the CPU 111 determines whether an event of shifting topower-off has occurred. More specifically, when detecting that a powerswitch (not illustrated) has been turned off (YES in step S1107), theCPU 111 ends the series of processing operations, and, when notdetecting that the power switch has been turned off (NO in step S1107),the processing returns to step S1101.

Furthermore, when ending the processing illustrated in FIG. 11, the CPU111 performs processing for shutting down the MFP 101, and, uponcompletion of the shutdown processing, powers off the MFP 101.

Next, details of the series of processing operations performed by theuser via the operation unit 116 and reception processing for a copy job,which is performed in step S1200, are described with reference to theflowchart illustrated in FIG. 12.

In step S1201, the CPU 111 determines whether an execution instructionfor copying has been issued. More specifically, when the start key 212is pressed under the condition that the above-mentioned setting screenfor copying is displayed on the panel 201, the CPU 111 determines thatthe execution instruction for copying has been issued (YES in stepS1201), and the processing then proceeds to step S1202. On the otherhand, if the start key 212 is not pressed (NO in step S1201), theprocessing proceeds to step S1204 while skipping steps S1202 and S1203.

In step S1202, the CPU 111 generates a copy job based on settingsperformed via the setting screen, and then executes the generated copyjob. The CPU 111 controls the reading unit 118 to perform readprocessing for reading an original as first processing of the copy job.When generation of an image of the original to be copied is completed bythe read processing, the processing proceeds to step S1203. Furthermore,the number of pages of an original to be read by the read processing instep S1202 can be one or more than one.

In step S1203, the CPU 111 generates a print processing task based onthe copy job generated in step S1202. Moreover, the CPU 111 adds, to themanagement list, management information for managing the generated printprocessing task. When adding the management information to themanagement list, the CPU 111 changes the order of tasks (order ofprinting) in the management list as appropriate. The processingoperations performed in steps S1201 to S1203 enable receiving aplurality of copy jobs.

If, in step S1204, the CPU 111 determines that the stop key 211 has beenpressed (YES in step S1204), the processing proceeds to step S1207, and,if the stop key 211 has not been pressed (NO in step S1204), theprocessing proceeds to step S1205.

If, in step S1205, the CPU 111 detects one of manual logout andautomatic logout (YES in step S1205), the processing proceeds to stepS1206. On the other hand, if the CPU 111 detects neither manual logoutnor automatic logout (NO in step S1205), the CPU 111 ends the series ofprocessing operations concerning a user operation and receptionprocessing for a copy job, and then proceeds to the print processing instep S1104.

More specifically, when the CPU 111 detects an event of manual logout,which occurs in response to the user who is logging in performing anoperation for an instruction to log out (an operation of pressing anyone of the logout key 631 and the ID key 213), the processing proceedsto step S1206. Moreover, when the CPU 111 detects an event of automaticlogout, which occurs when the user who is logging in performs nooperation for a predetermined period, the processing also proceeds tostep S1206. On the other hand, when the CPU 111 detects neither of theevents of manual logout and automatic logout, the CPU 111 ends theseries of processing operations concerning a user operation andreception processing for a copy job, and then proceeds to the printprocessing in step S1104. Additionally, events of logout are supposed tobe managed for each session.

In step S1206, the CPU 111 discards session data for a session in whichthe logout event has occurred and cancels the authentication of theuser. Moreover, the CPU 111 displays a login screen, such as the screen410, on the panel 201, and then proceeds to the print processing in stepS1104.

On the other hand, in step S1207, the CPU 111 determines whether thereis a copy job that is being executed or waiting to be executed. In thisprocessing, when copy job-based print processing or copy job-based readprocessing is being performed, the CPU 111 determines that there is acopy job that is being executed or waiting to be executed.

First, the copy job-based print processing is described. The CPU 111refers to the management list stored in the RAM 113, and determineswhether there is a task of copy job-based print processing in whichprinting is in progress or printing is waited.

More specifically, if, as a result of reference to the management list,there is a task generated based on a copy job and the status of which is“printing in progress” or “waiting for printing”, the CPU 111 determinesthat there is a copy job that is being executed or waiting to beexecuted (YES in step S1207), and the processing then proceeds tocancellation processing for a copy job in step S1300. Moreover, when thecopy job-based read processing, which is performed in step S1202, theCPU 111 also determines that there is a copy job that is being executedor waiting to be executed (YES in step S1207), and the processing thenproceeds to cancellation processing for a copy job in step S1300.

On the other hand, if the CPU 111 determines that there is no copy jobthat is being executed or waiting to be executed (NO in step S1207), theprocessing proceeds to step S1205. Moreover, the processing in stepS1207 is processing to perform control to prevent a cancellation screenfrom being displayed when, even if the stop key 211 is pressed, there isno copy job to be canceled.

In step S1300, the CPU 111 performs a series of processing operationsconcerning cancellation processing for a copy job. Subsequently, detailsof the series of processing operations concerning cancellationprocessing for a copy job (S1300) are described with reference to aflowchart illustrated in FIG. 13.

In step S1301, the CPU 111 suspends a copy job that is being executed orwaiting to be executed. The CPU 111 refers to the management list storedin the RAM 113, and changes a print processing task which had beengenerated from a copy job and the status of which is “printing inprogress” or “waiting for printing” to a suspended state. Moreover, whenchanging a print processing task the status of which is “printing inprogress” to a suspended state, the CPU 111 controls the printing unit120 to interrupt print processing on a sheet. Additionally, if copyjob-based read processing is in progress, the CPU 111 controls thereading unit 118 to suspend the read processing. The processing in stepS1301 enables suspending a copy job in which print processing is not yetcompleted.

In step S1302, the CPU 111 displays a cancellation screen for a copy jobon the panel 201. The CPU 111 refers to the management list, and thendisplays, on the cancellation screen, a list of copy jobs that are in asuspended state. Additionally, the pop-up screen 900 illustrated in FIG.9 is an example of the cancellation screen for a copy job.

In step S1303, the CPU 111 receives selection of a copy job to becanceled via the cancellation screen for a copy job. Moreover, aplurality of copy jobs can be allowed to be selected, or one copy jobcan be allowed to be selected.

If, in step S1304, the CPU 111 determines that the cancel key 902 ispressed (YES in step S1304), the processing proceeds to step S1305, and,if the cancel key 902 is not pressed (NO in step S1304), the processingproceeds to step S1307. In step S1305, the CPU 111 cancels execution ofthe copy job selected in step S1303. In a case where a copy job to becanceled is suspended in print processing, when canceling the copy job,the CPU 111 also cancels execution of a print processing task generatedbased on the copy job. Moreover, in a case where a copy job to becanceled is suspended in read processing, when canceling the copy job,the CPU 111 deletes read image data, and the processing then proceeds tostep S1306.

In step S1306, the CPU 111 determines whether there is a copy job thatis in a suspended state. If the CPU 111 determines there is a copy jobin a suspended state (YES in step S1306), the processing returns to stepS1302, in which the CPU 111 re-displays the cancellation screen for acopy job. If there is no copy job that is in a suspended state (NO instep S1306), the CPU 111 ends a series of processing operationsconcerning cancellation processing, and the processing then proceeds tothe print processing in step S1104.

On the other hand, if, in step S1307, the CPU 111 determines that theresumption key 903 is pressed (YES in step S1307), the processingproceeds to step S1308, and, if the resumption key 903 is not pressed(NO in step S1307), the processing proceeds to step S1309.

In step S1308, the CPU 111 resumes the copy job that is in a suspendedstate, and the processing then proceeds to step S1104. In the case of acopy job that is suspended in print processing, the CPU 111 also resumesthe copy job-based print processing. More specifically, the CPU 111refers to the management list, and changes the status of a printprocessing task generated from a copy job and the status of which is“suspended” to “waiting for printing”. Since the task of copy job-basedprint processing the status of which is “suspended” is changed to“waiting for printing”, print processing is resumed at the printprocessing in step S1104. On the other hand, in the case of a copy jobthat is suspended in read processing, the CPU 111 resumes the copyjob-based read processing.

On the other hand, if, in step S1309, the CPU 111 detects one of manuallogout and automatic logout under the condition that the cancellationscreen for a copy job is displayed on the panel 201 (YES in step S1309),the processing proceeds to step S1400. On the other hand, if the CPU 111detects neither manual logout nor automatic logout (NO in step S1309),the processing returns to step S1303.

In step S1400, the CPU 111 performs a series of processing operationsconcerning copy job control during logout. Subsequently, details of theseries of processing operations concerning copy job control duringlogout (S1400) are described with reference to a flowchart illustratedin FIG. 14.

In step S1401, the CPU 111 acquires the suspended-job processing settingstored in the storage 114 or the RAM 113. In step S1402, the CPU 111determines whether the setting acquired in step S1401 is the setting ofswitching control between a copy job of a user who logs out and a copyjob of another user. More specifically, if the suspended-job processingsetting is “mode 3” or “mode 4”, the CPU 111 determines that control isswitched between a copy job of a user who logs out and a copy job ofanother user (YES in step S1402), and the processing then proceeds tostep S1403. On the other hand, if the suspended-job processing settingis “mode 1” or “mode 2”, the CPU 111 determines that control is notswitched between a copy job of a user who logs out and a copy job ofanother user (NO in step S1402), and the processing then proceeds tostep S1409.

In step S1403, the CPU 111 acquires the user ID of the user who logs outof the MFP 101.

In step S1404, the CPU 111 resumes a copy job that is in a suspendedstate and that has a job owner name different from the user ID acquiredin step S1403. In the case of resuming a copy job that is suspended inprint processing, the CPU 111 also resumes the copy job-based printprocessing. The CPU 111 refers to the management list stored in the RAM113, and changes the status of a task the task generation source ofwhich is a copy job, the status of which is “suspended”, and the jobowner name of which is different from the user ID acquired in step S1403to “waiting for printing”. Moreover, in the case of resuming a copy jobthat is suspended in read processing, the CPU 111 also resumes the copyjob-based read processing.

In step S1405, the CPU 111 determines whether the suspended-jobprocessing setting acquired in step S1401 is the setting of cancelingexecution of a copy job of the logged-in user that is suspended. Morespecifically, if the suspended-job processing setting is “mode 4”, theCPU 111 determines that it is the setting of canceling execution of acopy job of the logged-in user that is suspended (YES in step S1405),and the processing then proceeds to step S1406. On the other hand, ifthe suspended-job processing setting is “mode 3”, the CPU 111 determinesthat it is not the setting of canceling execution of a copy job of thelogged-in user that is suspended (NO in step S1405), and the processingthen proceeds to step S1407.

In step S1406, the CPU 111 cancels execution of a copy job that issuspended. In the case of canceling execution of a copy job that issuspended in print processing, the CPU 111 also cancels a printprocessing task generated based on the copy job. Moreover, in the caseof canceling execution of a coy job that is suspended in readprocessing, the CPU 111 also deletes image data generated by the readprocessing.

In step S1407, the CPU 111 changes the status of a copy job that issuspended in print processing to “error state”. In the case of changingthe status of a copy job that is suspended in print processing to “errorstate”, the CPU 111 also changes a print processing task generated basedon the copy job to “error state”. More specifically, the CPU 111 refersto the management list stored in the RAM 113, and changes the status ofa task generated based on a copy job and the status of which is“suspended” to “error state”. Upon completion of processing in stepS1407, the processing proceeds to step S1408. Furthermore, with regardto a copy job that is suspended while occupying the printing unit 120,the CPU 111 discharges up to a sheet that is in the process of beingprinted to a discharge tray (not illustrated), releases the occupationof the printing unit 120, and then changes the status of the task to“error state”.

In step S1408, the CPU 111 cancels execution of a copy job that issuspended in read processing and deletes image data generated by theread processing, and the processing then proceeds to step S1310.

Furthermore, the processing in step S1408 is processing for preventing acopy job that occupies the reading unit 118 from remaining in an errorstate.

The processing in step S1407 causes a copy job of the user who islogging in to remain in an error state. Moreover, a print processingtask generated based on a copy job that is in an error state is supposedto be set lower in priority of processing than tasks of print processingthe statuses of which are “waiting for printing” and “printing inprogress”. Accordingly, a new generated print processing task or a printprocessing task the status of which is “waiting for printing” canovertake a print processing task the status of which is “error state”and can be first executed. The user can resume execution of a copy jobby issuing a resumption instruction for the copy job via a statusconfirmation screen (not illustrated). Upon receipt of the executionresumption instruction, the CPU 111 changes the status of a printprocessing task corresponding to the copy job to “waiting for printing”,and resumes the print processing task.

On the other hand, in step S1409, the CPU 111 determines whether thesuspended-job processing setting acquired in step S1401 is the settingof canceling execution of a copy job that is suspended. Morespecifically, if the suspended-job processing setting is “mode 1”, theCPU 111 determines that it is the setting of canceling execution of acopy job of the logged-in user that is suspended (YES in step S1409),and the processing then proceeds to step S1410. On the other hand, ifthe suspended-job processing setting is “mode 2”, the CPU 111 determinesthat it is not the setting of canceling execution of a copy job that issuspended (NO in step S1409), and the processing then proceeds to stepS1411.

In step S1410, the CPU 111 cancels execution of a copy job that issuspended. In the case of canceling execution of a copy job that issuspended in print processing, the CPU 111 also cancels a printprocessing task generated based on the copy job. Moreover, in the caseof canceling execution of a coy job that is suspended in readprocessing, the CPU 111 also deletes image data generated by the readprocessing.

On the other hand, in step S1411, the CPU 111 resumes a copy job that isin a suspended state. In the case of resuming a copy job that issuspended in print processing, the CPU 111 also resumes a printprocessing task generated based on the copy job. In the case of resuminga copy job that is suspended in read processing, the CPU 111 alsoresumes the read processing by controlling the reading unit 118.

A series of processing operations illustrated in FIG. 14 enablescontrolling a copy job in such a way as to prevent, when an event inwhich the user logs out of the apparatus occurs, the copy job fromremaining suspended.

Referring back to FIG. 13, in step S1310, the CPU 111 discards sessiondata on a session in which the logout event has occurred, and cancelsthe authentication of the user. Upon completion of processing in stepS1310, the processing proceeds to the print processing in step S1104.

As described above, according to the present exemplary embodiment, whenthe user logs out of an image processing apparatus with a copy jobsuspended by pressing a stop key, the copy job can be prevented fromremaining suspended. Accordingly, the occupation of the printing unit120 by a print processing task generated based on the copy job that issuspended can be released based on an event in which the user logs out.Moreover, the occupation of the reading unit 118 by read processingperformed based on the copy job that is suspended can also be released.Therefore, the execution efficiency of jobs can be increased.Additionally, based on an event in which the user logs out, theexecution of a copy job of the user who has logged out can be canceledand the execution of a copy job of another user can be resumed.

In the first exemplary embodiment, an example has been described inwhich the execution of a copy job of the user who has logged out iscanceled and the execution of a copy job of another user is resumed. Ina second exemplary embodiment, which focuses attention on a session, anexample is described in which the execution of a copy job instructed tobe executed in a session that is targeted for logout processing iscanceled and the execution of the other copy jobs is resumed. Moreover,an example is also described in which the execution of a copy jobinstructed to be executed in a session that is targeted for logoutprocessing and having the most recent date and time when an instructionfor execution was issued is canceled and the execution of the other copyjobs is resumed. Furthermore, in the second exemplary embodiment, thehardware configuration of an apparatus employed therein is similar tothat in the first exemplary embodiment. Moreover, with regard toconfigurations and control operations similar to those in the firstexemplary embodiment, the detailed description thereof is omitted.

The administrator of the MFP 101 is able to previously set how toprocess a copy job that is suspended at the time of logout. FIG. 15illustrates an example of a setting screen for a copy operation, whichis displayed on the panel 201 in the second exemplary embodiment and isa substitute for the setting screen illustrated in FIG. 10 in the firstexemplary embodiment.

Radio buttons 1501 to 1502, which are radio buttons for selecting onesetting from among a plurality of buttons (options), are used to set howto deal with a copy job that is in a suspended state at the time oflogout. The radio button 1501 is a button that is selected when theadministrator intends to perform control in such way as to cancelexecution of a copy job instructed to be executed in a session that istargeted for logout processing, from among copy jobs that are suspended,and to resume execution of the other copy jobs. Moreover, the radiobutton 1502 is a button that is selected when the administrator intendsto perform control in such way as to cancel execution of a copy job mostrecently instructed to be executed in the session that is targeted forlogout processing, from among copy jobs that are suspended, and toresume execution of the other jobs.

An OK key 1511 is a key that is used when the administrator changes thesettings of the MFP 101 based on setting items set via the screen.Moreover, a setting cancel key 1512 is a key that is used when theadministrator discards the settings set via the screen.

The administrator of the MFP 101 is able to previously set how to dealwith a copy job that is in a suspended state at the time of logout(hereinafter referred to as “suspended-job processing setting in thesecond exemplary embodiment”), via the screen illustrated in FIG. 15.The value of suspended-job processing setting in the second exemplaryembodiment that has been set by the administrator is stored in thestorage 114 or the RAM 113, and is then referred to in the flowchartsdescribed below.

For example, when the OK key 1511 is pressed under the condition thatthe radio button 1501 is selected, the CPU 111 stores “mode 1” as thesuspended-job processing setting in the second exemplary embodiment.When the OK key 1511 is pressed under the condition that the radiobutton 1502 is selected, the CPU 111 stores “mode 2” as thesuspended-job processing setting in the second exemplary embodiment. TheMFP 101 controls jobs based on the suspended-job processing setting inthe second exemplary embodiment that has been set by the administrator,in such a way as to prevent the jobs from remaining suspended.

Furthermore, while, in the second exemplary embodiment, an example hasbeen described in which the administrator performs suspended-jobprocessing setting in the second exemplary embodiment via the screenillustrated in FIG. 15, this is not limiting. For example, an ordinaryuser (general user) can be allowed to perform suspended-job processingsetting in the second exemplary embodiment.

FIG. 16 and FIGS. 17A, 17B, and 17C illustrate tasks of print processingand the print processing in the second exemplary embodiment.

First, print processing is described. FIG. 16 illustrates an example ofdata included in a print processing task. The data included in a printprocessing task includes, as in the first exemplary embodiment, printdata 707 containing data to be printed (such as image data) obtainedfrom a job from which the print processing task is generated, printsettings, and other information. Moreover, the data included in a printprocessing task has attributes of print processing 701 to 706 appendedthereto. Moreover, in the second exemplary embodiment, the data includedin a print processing task has a session ID 1601 appended thereto. Theseattributes are used as appropriate in the flowcharts described below.

Next, control over handling of a suspended job at the time of logout isdescribed with reference to FIGS. 17A, 17B, and 17C. FIGS. 17A, 17B, and17C illustrate control over handling of a suspended job at the time oflogout. FIG. 17A illustrates an example of a management list used tomanage tasks of print processing, and indicates a state after the stopkey 211 is pressed when six tasks of print processing are being executedor waiting for execution. As indicated in the example illustrated inFIG. 17A, no session ID is appended to a job that is input without login(for example, a normal print job).

Moreover, FIGS. 17B and 17C illustrate control over tasks of printprocessing performed when the user logs out of the MFP 101 with copyjobs suspended.

FIG. 17B illustrates handling of a suspended job at the time of logoutwhen “mode 1” is specified as the suspended-job processing setting. Inthe example illustrated in FIG. 17B, the session ID of a session that istargeted for logout processing is “0003”.

When “mode 1” is specified, since the execution of a job instructed tobe executed in a session that is targeted for logout processing iscanceled, a print processing task having the session ID “0003” iscanceled. Accordingly, tasks of print processing corresponding to piecesof management information 1712 and 1713 are canceled. On the other hand,since the task corresponding to management information 1711 is a taskgenerated based on a job instructed by the same “UserA” to be executedbut is a task generated based on a job instructed to be executed in adifferent session, that task is not cancelled but resumed.

Moreover, when copy job-based read processing is being performed,similar handling is also performed on the copy job-based readprocessing. When read processing instructed to be executed in a sessionthat is targeted for logout processing is being performed, the readprocessing is also canceled.

FIG. 17C illustrates handling of a suspended job at the time of logoutwhen “mode 2” is specified as the suspended-job processing setting. Inthe example illustrated in FIG. 17C, the session ID of a session that istargeted for logout processing is “0003”.

When “mode 2” is specified, the execution of a copy job having the mostrecent date and time when an instruction for execution was issued in asession targeted for logout processing is canceled, and the execution ofthe other copy jobs is resumed. Accordingly, the execution of a copy jobthe session ID of which is “0003” and the date and time of which is mostrecent is canceled.

Thus, if read processing is being performed in a copy job instructed tobe executed in a session that is targeted for logout processing, theread processing is canceled, and tasks of print processing generatedbased on the other copy jobs are resumed.

On the other hand, if read processing is not being performed in a copyjob instructed to be executed in a session that is targeted for logoutprocessing, the most recent print processing task from among tasks ofprint processing instructed to be executed in the session that istargeted for logout processing is canceled. In this case, as illustratedin FIG. 17C, a print processing task corresponding to managementinformation 1713 is canceled, and the other tasks of print processingare resumed.

<Control over a Suspended Job>

Next, a method of controlling execution of a copy job in such a way asto prevent the copy job from remaining suspended in the second exemplaryembodiment is described with reference to flowcharts illustrated inFIGS. 11 to 13 and FIG. 18. Each operation (step) in the flowchartsillustrated in FIGS. 11 to 13 and FIG. 18 is implemented by the CPU 111reading a control program stored in the ROM 112 or the storage 114 ontothe RAM 113 and executing the control program.

Processing operations in the flowcharts of FIGS. 11 to 13 are similar tothose in the first exemplary embodiment, and are, therefore, omittedfrom description. In the second exemplary embodiment, processingoperations illustrated in FIG. 18 are performed instead of a series ofprocessing operations concerning copy job control during logout in thefirst exemplary embodiment illustrated in FIG. 14.

In step S1801, the CPU 111 acquires suspended-job processing settingstored in the storage 114 or the RAM 113. In step S1802, the CPU 111acquires the session ID of a session targeted for logout.

In step S1803, the CPU 111 resumes a copy job instructed to be executedin a session different from the session ID acquired in step S1802. Inthe case of resuming execution of a copy job that is suspended in printprocessing, the CPU 111 also resumes a print processing task generatedbased on the copy job.

In step S1804, the CPU 111 determines whether the setting acquired instep S1801 is the setting of canceling all of the jobs instructed to beexecuted in the same session. More specifically, if the suspended-jobprocessing setting is “mode 1”, the CPU 111 determines that it is thesetting of canceling all of the jobs instructed to be executed in thesame session (YES in step S1804), and the processing then proceeds tostep S1805. On the other hand, if the suspended-job processing settingis “mode 2”, the CPU 111 determines that it is not the setting ofcanceling all of the jobs instructed to be executed in the same session(NO in step S1804), and the processing then proceeds to step S1806.

In step S1805, the CPU 111 cancels a copy job instructed to be executedin a session that is targeted for logout processing based on the sessionID acquired in step S1802.

More specifically, if read processing of a copy job instructed to beexecuted in a session that is targeted for logout processing is in asuspended state, the CPU 111 cancels the read processing. Moreover, theCPU 111 cancels a print processing task coinciding with the session IDacquired in step S1802.

In step S1806, the CPU 111 cancels execution of a copy job instructed tobe executed in a session that is targeted for logout processing based onthe session ID and having the most recent date and time when aninstruction for execution was issued. Moreover, the CPU 111 resumesexecution of the other copy jobs. More specifically, if read processingof a copy job instructed to be executed in a session that is targetedfor logout processing is in a suspended state, the CPU 111 cancels theread processing and resumes other tasks of processing. Moreover, if readprocessing of a copy job instructed to be executed in a session that istargeted for logout processing is not in a suspended state, the CPU 111processes tasks of print processing as follows. The CPU 111 cancels aprint processing task having the most recent date and time when aninstruction for execution was issued from among tasks of printprocessing coinciding with the session ID acquired in step S1802, andresumes the other tasks of print processing.

A series of processing operations illustrated in FIG. 18 enablescontrolling a copy job in such a way as to prevent, when an event inwhich the user logs out of the MFP 101 occurs, the copy job fromremaining suspended.

As described above, according to the second exemplary embodiment, theexecution of a copy job instructed to be executed in a session that istargeted for logout processing based on an event in which the user logsout is canceled, and the execution of the other copy jobs can beresumed. These processing operations enable preventing a copy job fromremaining suspended. Moreover, these processing operations enablepreventing a copy job of another user or a copy job of the same userinstructed to be executed in a separate session from beingunintentionally canceled.

Furthermore, in a case where “mode 2” is set, a copy job most recentlyinstructed to be executed in a session that is targeted for logoutprocessing can be canceled, and the execution of the other copy jobs canbe resumed. Moreover, in the control operation in “mode 2”, since it isconsidered that, when performing processing for cancellation, the useroften intends to cancel the latest processing, the CPU 111 cancels onlya copy job most recently instructed to be executed in the same session,and resumes the other copy jobs.

In the first exemplary embodiment and the second exemplary embodiment,an example has been described in which, when the user logs out of theimage processing apparatus, a copy job is canceled or resumed in such away as to prevent the copy job from remaining suspended.

In a third exemplary embodiment, a method of performing control todetermine whether a cancellation instruction to cancel one of copy jobsthat are in a suspended state has been issued via a cancellation screenand to resume the other copy jobs that are in a suspended state, inaddition to the control operation performed in the first exemplaryembodiment, is described.

Furthermore, in the third exemplary embodiment, the hardwareconfiguration of an apparatus employed therein is similar to that in thefirst exemplary embodiment. Moreover, with regard to configurations andcontrol operations similar to those in the first exemplary embodiment,the detailed description thereof is omitted.

A method of controlling cancellation processing for a copy job in thethird exemplary embodiment is described with reference to a flowchartillustrated in FIG. 19. The flowchart of FIG. 19 is a flowchart servingas an alternative to the flowchart of FIG. 13 in the first exemplaryembodiment, and illustrates an operation performed when it is determinedin step S1207 that there is a copy job that is being executed or waitingto be executed.

First, in step S1911, the CPU 111 sets a cancellation instruction flagto “OFF”, and the processing then proceeds to step S1901. Thecancellation instruction flag is temporarily stored in the RAM 113 andis referred to in steps described below.

In steps S1901 to S1903, the CPU 111 suspends a copy job and receivesselection of a copy job to be canceled from the user, as in steps S1301to S1303 in the first exemplary embodiment.

If, in step S1904, the CPU 111 determines that the cancel key 902 ispressed (YES in step S1904), the processing proceeds to step S1905, and,if the cancel key 902 is not pressed (NO in step S1904), the processingproceeds to step S1907.

In step S1905, the CPU 111 cancels execution of the copy job selected instep S1903, and the processing then proceeds to step S1912. In stepS1912, the CPU 111 changes the cancellation instruction flag set in stepS1911 to “ON”, and the processing then proceeds to step S1906. If, instep S1906, the CPU 111 determines that there is a copy job that is in asuspended state (YES in step S1906), as in step S1306, the processingreturns to step S1902, in which the CPU 111 re-displays the cancellationscreen for a copy job. If there is no copy job that is in a suspendedstate (NO in step S1906), the CPU 111 ends a series of the processingoperations.

On the other hand, if, in step S1907, the CPU 111 determines that theresumption key 903 is pressed (YES in step S1907), then in step S1908,the CPU 111 resumes the copy job that is in a suspended state, as insteps S1307 and S1308, and then ends a series of the processingoperations. On the other hand, if the resumption key 903 is not pressed(NO in step S1907), the processing proceeds to step S1909.

If, in step S1909, the CPU 111 detects one of manual logout andautomatic logout under the condition that the cancellation screen for acopy job is displayed on the panel 201 (YES in step S1909), theprocessing proceeds to step S1913. On the other hand, if the CPU 111detects neither manual logout nor automatic logout (NO in step S1909),the processing returns to step S1903.

In step S1913, the CPU 111 refers to the RAM 113 and determines whetherthe cancellation instruction flag is “OFF”. If the CPU 111 determinesthat the cancellation instruction flag is “OFF” (YES in step S1913), theprocessing proceeds to step S1400. In step S1400, the CPU 111 performsthe copy job control during logout and the logout processing, and thenends a series of the processing operations. On the other hand, if thecancellation instruction flag is not “OFF” (is “ON”) (NO in step S1913),the processing proceeds to step S1908, in which the CPU 111 resumes thecopy job that is in a suspended state, and then ends a series of theprocessing operations.

As described above, according to the third exemplary embodiment, it isdetermined whether a cancellation instruction to cancel any one of copyjobs that are in a suspended state has been issued, and, if thecancellation instruction has been issued during logout, the other copyjobs that are in a suspended state can be resumed. Accordingly, in acase where the user logs out after canceling one or more copy jobs, theother copy jobs can be resumed without being canceled.

Furthermore, although the third exemplary embodiment is presumed to beapplied to the first exemplary embodiment, this is not limiting. Thethird exemplary embodiment can also be applied to the second exemplaryembodiment.

Moreover, although, in the first to third exemplary embodiments, anexample has been described in which, when pressing of the stop key isdetected during execution of a copy job, the copy job is suspended, thisis not limiting.

For example, the above-described exemplary embodiments can also beapplied to a case of temporarily suspending a transmission job whichreads image data and transmits the image data to an external device suchas the PC 102. Moreover, according to a screen displayed on the panel201, the type of a job that is suspended when the stop key is pressed orthe attribute of the job can be changed as appropriate. For example, theCPU 111 can be configured to suspend a copy job when a screen related tocopying is displayed. Additionally, the CPU 111 can be configured tosuspend a print job when a screen related to printing of print data (forexample, a screen for the function of printing data stored in a storageor a screen related to stored file printing) is displayed.

Other Embodiments

Embodiments of the present invention can also be realized by a computerof a system or apparatus that reads out and executes computer executableinstructions recorded on a storage medium (e.g., non-transitorycomputer-readable storage medium) to perform the functions of one ormore of the above-described embodiment(s) of the present invention, andby a method performed by the computer of the system or apparatus by, forexample, reading out and executing the computer executable instructionsfrom the storage medium to perform the functions of one or more of theabove-described embodiment(s). The computer may comprise one or more ofa central processing unit (CPU), micro processing unit (MPU), or othercircuitry, and may include a network of separate computers or separatecomputer processors. The computer executable instructions may beprovided to the computer, for example, from a network or the storagemedium. The storage medium may include, for example, one or more of ahard disk, a random-access memory (RAM), a read only memory (ROM), astorage of distributed computing systems, an optical disk (such as acompact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™),a flash memory device, a memory card, and the like.

According to exemplary embodiments, in an image processing apparatusthat executes a plurality of copy jobs, when the user logs out of theimage processing apparatus, a job including print processing can beprevented from remaining suspended. Accordingly, execution of jobs canbe smoothly performed.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

What is claimed is:
 1. An image forming apparatus including an operationunit, the image forming apparatus comprising: a memory device storinginstructions; and at least one processor that executes the instructionsand causes the image forming apparatus to: suspend, based on operationof a user who has logged into the image forming apparatus, jobsincluding a job which is being executed and a job which is to beexecuted; if a first setting is preset, resume, based on detection oflogout of the user in a state that the jobs are suspended, a jobinstructed to be executed by another user from among the suspended jobswherein another job instructed to be executed by the user is keptsuspended; and if a second setting is preset, resume, based on detectionof logout of the user in the state that the jobs are suspended, the jobinstructed to be executed by another user and the another job instructedto be executed by the user.
 2. The image forming apparatus according toclaim 1, wherein the job instructed to be executed by the another useris performed prior to the another job instructed to be executed by theuser.
 3. The image forming apparatus according to claim 1, wherein theanother job instructed to be executed by the user is kept suspended inan error state.
 4. The image forming apparatus according to claim 1,further comprising a user interface that is able to set one of the firstsetting and the second setting.
 5. The image forming apparatus accordingto claim 1, wherein the jobs include a copy job.
 6. A control method foran image forming apparatus including an operation unit, the methodcomprising: suspending, based on operation of a user who has logged intothe image forming apparatus, jobs including a job which is beingexecuted and a job which is to be executed; if a first setting ispreset, resuming, based on detection of logout of the user in a statethat the jobs are suspended, a job instructed to be executed by anotheruser from among the suspended jobs wherein another job instructed to beexecuted by the user is kept suspended; and if a second setting ispreset, resuming, based on detection of logout of the user in the statethat the jobs are suspended, the job instructed to be executed byanother user and the another job instructed to be executed by the user.7. The method according to claim 6, wherein the job instructed to beexecuted by the another user is performed prior to the another jobinstructed to be executed by the user.
 8. The method according to claim6, wherein the another job instructed to be executed by the user is keptsuspended in an error state.
 9. The method according to claim 6, furthercomprising setting one of the first setting and the second setting. 10.The method according to claim 6, wherein the jobs include a copy job.11. A non-transitory storage medium storing a program for causing acomputer to execute a control method for an image forming apparatusincluding an operation unit, the method comprising: suspending, based onoperation of a user who has logged into the image forming apparatus,jobs including a job which is being executed and a job which is to beexecuted; if a first setting is preset, resuming, based on detection oflogout of the user in a state that the jobs are suspended, a jobinstructed to be executed by another user from among the suspended jobswherein another job instructed to be executed by the user is keptsuspended; and if a second setting is preset, resuming, based ondetection of logout of the user in the state that the jobs aresuspended, the job instructed to be executed by another user and theanother job instructed to be executed by the user.
 12. Thenon-transitory storage medium according to claim 11, wherein the jobinstructed to be executed by the another user is performed prior to theanother job instructed to be executed by the user.
 13. Thenon-transitory storage medium according to claim 11, wherein the anotherjob instructed to be executed by the user is kept suspended in an errorstate.
 14. The non-transitory storage medium according to claim 11,further comprising setting one of the first setting and the secondsetting.
 15. The non-transitory storage medium according to claim 11,wherein the jobs include a copy job.